package com.example.sword;

public class Test67 {

    public static void main(String[] args) {
        System.out.println(4);
    }


    /**
     * 给你一根长度为n的绳子，请把绳子剪成整数长的m段（m、n都是整数，n>1并且m>1，m<=n），每段绳子的长度记为k[1],...,k[m]。
     * 请问k[1]x...xk[m]可能的最大乘积是多少？例如，当绳子的长度是8时，我们把它剪成长度分别为2、3、3的三段，此时得到的最大乘积是18。
     *
     *
     * 根据推断 分的越多乘积越大  2*2*2<3*3  所以每份是3 最好   实际是e 最大
     * */

    public int cutRope(int target) {
//        m>1  最少要分两份
        if(target==2)return 1;
        if(target==3)return 2;
        if (target%3==0)return (int) Math.pow(3,target/3);
        else if (target%3==1)return (int) (4*Math.pow(3,target/3-1));
        else return (int) (2*Math.pow(3,target/3));

    }

}
